package com.yonyou.rabbitmq.common;

/**
 * MQ用常量定义
 */
public class MessageConstants {

    /**
     * 租户ID
     */
    public static final String TENANT_ID = "tenantId";
    /**
     * 租户为 / 时替换符
     */
    public static final String EMPTY_VHOST = "%2f";

    /**
     * 默认交换机
     */
    public static final String DEFAULT_EXCHANGE = "default.exchange";
    /**
     * 死信交换机参数
     */
    public static final String DLX_EXCHANGE_ARGS = "x-dead-letter-exchange";
    /**
     * 死信路由参数
     */
    public static final String DLK_ROUTING_KEY_ARGS = "x-dead-letter-routing-key";
    /**
     * 消息过期参数
     */
    public static final String MESSAGE_TTL_ARGS = "x-message-ttl";
    /**
     * 死信交换机
     */
    public static final String DLX_EXCHANGE = "dlx.exchange";
    /**
     * 死信路由
     */
    public static final String DLK_ROUTING_KEY = "dlk.routing.key";
    /**
     * 死信队列
     */
    public static final String DLQ_QUEUE = "dlq.queue";

    /**
     * 延迟交换机
     */
    public static final String DELAYED_EXCHANGE_NAME = "delayed.exchange";

    /**
     * 延迟队列名
     */
    public static final String DELAYED_QUEUE_NAME = "delayed.queue";

    /**
     * 延迟交换机类型参数
     */
    public static final String DELAYED_EXCHANGE_TYPE = "x-delayed-message";

    /**
     * 延迟交换机参数
     */
    public static final String DELAYED_EXCHANGE_ARGS = "x-delayed-type";

    /**
     * 延迟队列时间参数
     */
    public static final String X_DELAY = "x-delay";

    /**
     * 交换机类型
     */
    public static final String DIRECT = "direct";

    /**
     * gfConnectionFactory
     */
    public static final String GF_CONNECTION_FACTORY = "gfConnectionFactory";

    /**
     * zwConnectionFactory
     */
    public static final String ZW_CONNECTION_FACTORY = "zwConnectionFactory";

    /**
     * gfRabbitTemplate
     */
    public static final String GF_RABBIT_TEMPLATE = "gfRabbitTemplate";

    /**
     * zwRabbitTemplate
     */
    public static final String ZW_RABBIT_TEMPLATE = "zwRabbitTemplate";

    /**
     * gfRabbitAdmin
     */
    public static final String GF_RABBIT_ADMIN = "gfRabbitAdmin";

    /**
     * zwRabbitAdmin
     */
    public static final String ZW_RABBIT_ADMIN = "zwRabbitAdmin";

    /**
     * zwContainerFactory
     */
    public static final String ZW_CONTAINER_FACTORY = "zwContainerFactory";

    /**
     * gfContainerFactory
     */
    public static final String GF_CONTAINER_FACTORY = "gfContainerFactory";

}
